package com.bite.product.api;


import com.bite.product.model.ProductInfo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

@FeignClient(name = "product-service", path = "/product")
public interface ProductApi {
    @RequestMapping("/{productId}")
    ProductInfo selectById(@PathVariable("productId") Integer productId);


    @RequestMapping("/simple")
    String simple(@RequestParam("id") Integer id);

    @RequestMapping("/multiple")
    String multiple(@RequestParam("id") Integer id, @RequestParam("name") String name);

    @RequestMapping("/object")
    String object(@SpringQueryMap ProductInfo productInfo);

    @RequestMapping("/json")
    String json(@RequestBody ProductInfo productInfo);

}
